package com.magneticattraction.service;

import android.app.Service;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService;
import android.util.Log;
import android.widget.Toast;

import androidx.annotation.RequiresApi;

@RequiresApi(api = Build.VERSION_CODES.N)
public class QuickSettingsService extends TileService {
    /*public QuickSettingsService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }
*/

    public static final String TAG = "MyTileService---";

    @Override
    public void onTileAdded() {
        super.onTileAdded();
        // 当用户添加Tile到快速设置区域时调用，可以在这里进行一次性的初始化操作。
        Log.d(TAG, "onTileAdded()============");
    }

    @Override
    public void onStartListening() {
        super.onStartListening();
        // 当Tile变为可见时调用，这里可以进行更新Tile，注册监听或回调等操作。
        Log.d(TAG, "onStartListening()============");
    }

    @Override
    public void onStopListening() {
        super.onStopListening();
        // 当Tile变为不可见时调用，这里可以进行注销监听或回调等操作。
        Log.d(TAG, "onStopListening()============");
    }

    @Override
    public void onTileRemoved() {
        super.onTileRemoved();
        // 当用户从快速设置区域移除一个Tile时调用，这里不要做有关于此Tile的任何操作。
        Log.d(TAG, "onTileRemoved()============");
    }

    @Override
    public void onClick() {
        super.onClick();
        // 这里可以响应用户点击Tile的操作
        Log.d(TAG, "onClick()============");
        int state = getQsTile().getState();
        if (state == Tile.STATE_INACTIVE) {
            // 更改成活跃状态     (还有一个参数：STATE_UNAVAILABLE 非可点击状态)
            getQsTile().setState(Tile.STATE_ACTIVE);
            Toast.makeText(this, "打开磁吸功能", Toast.LENGTH_SHORT).show();
            getQsTile().setContentDescription("正在开启");

        } else {
            //更改成非活跃状态
            getQsTile().setState(Tile.STATE_INACTIVE);
            Toast.makeText(this, "关闭磁吸功能", Toast.LENGTH_SHORT).show();
        }

        //可以点击设置图标，设置方式如下：
        //Icon icon = Icon.createWithResource(getApplicationContext(), R.drawable.xxxx);
        //getQsTile().setIcon(icon);
        //设置label：
        //getQsTile().setLabel("");
        //更新Tile
        getQsTile().updateTile();

    }
}